package com.xygz.orm;

import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.SQLException;

/**
 * the description for class ORMServerHolder
 *
 * @author xiyuan-lgz 2024-06-11 @version v1.0.0 新建与整理
 */
@SuppressWarnings("all")
public interface ORMConnectionHolder {
    

    
    /**
     * 获取数据源，此方法尽可能的 返回有事务的数据源
     * 如果 事务管理器中没有开启事务 则 返回null
     */
    public Connection getConnection(DataSource dataSource) throws SQLException;
    
    /**
     * 判断链接是否开启事务
     *
     * @param connection
     * @param dataSource
     * @return
     * @throws SQLException
     */
    public boolean isTransactional(Connection connection, DataSource dataSource) throws SQLException;
    
    
    public void releaseConnection(Connection conn, DataSource dataSource) throws SQLException;
}
